home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 1 / QRZ Ham Radio Callsign Database - December 1993.iso / ucsd / packet / tcpip / sys5 / iscwmpst.z / iscwmpst / tcp / src / devparam.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-05-10  |  1.3 KB  |  74 lines

  1. /* @(#) $Header: devparam.c,v 1.2 91/05/09 07:38:10 deyke Exp $ */
  2.  
  3. #include <string.h>
  4. #include <ctype.h>
  5. #include "global.h"
  6. #include "devparam.h"
  7.  
  8. struct param {
  9.     int number;
  10.     char *name;
  11. };
  12. static struct param Parms[] = {
  13.     PARAM_DATA,     "Data",
  14.     PARAM_TXDELAY,  "TxDelay",
  15.     PARAM_PERSIST,  "Persist",
  16.     PARAM_SLOTTIME, "SlotTime",
  17.     PARAM_TXTAIL,   "TxTail",
  18.     PARAM_FULLDUP,  "FullDup",
  19.     PARAM_HW,       "Hardware",
  20.     PARAM_MUTE,     "TxMute",
  21.     PARAM_DTR,      "DTR",
  22.     PARAM_RTS,      "RTS",
  23.     PARAM_SPEED,    "Speed",
  24.     PARAM_ENDDELAY, "EndDelay",
  25.     PARAM_GROUP,    "Group",
  26.     PARAM_IDLE,     "Idle",
  27.     PARAM_MIN,      "Min",
  28.     PARAM_MAXKEY,   "MaxKey",
  29.     PARAM_WAIT,     "Wait",
  30.     PARAM_DOWN,     "Down",
  31.     PARAM_UP,       "Up",
  32.     PARAM_RETURN,   "Return",
  33.     -1,             NULLCHAR,
  34. };
  35.  
  36. /* Convert a packet radio interface control token into a number
  37.  * Used by the various ioctl routines and by KISS TNC commands
  38.  */
  39. int
  40. devparam(s)
  41. char *s;
  42. {
  43.     int len;
  44.     struct param *sp;
  45.  
  46.     len = strlen(s);
  47.     if(isdigit(s[0]))
  48.         return atoi(s);
  49.  
  50.     sp = &Parms[0];
  51.     while(sp->number != -1){
  52.         if(strnicmp(s,sp->name,len) == 0)
  53.             return sp->number;
  54.         sp++;
  55.     }
  56.     return -1;
  57. }
  58.  
  59. char *
  60. parmname(n)
  61. int n;
  62. {
  63.     struct param *sp;
  64.  
  65.     sp = &Parms[0];
  66.     while(sp->number != -1){
  67.         if(sp->number == n)
  68.             return sp->name;
  69.         sp++;
  70.     }
  71.     return NULLCHAR;
  72. }
  73.  
  74.